package com.company.cloud.user.modules.mgr.controller.req;

import java.util.Set;

import javax.validation.constraints.NotEmpty;

import com.company.cloud.common.bean.BaseParam;
import com.company.cloud.common.constant.BaseConstant;
import com.company.cloud.user.modules.api.constant.UserOneSourceEnum;
import com.company.cloud.user.modules.api.constant.UserOneTypeEnum;

import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class UserRegisterByAdminParam extends BaseParam{

	@ApiModelProperty(value = "公司编号", required = true)
	@NotEmpty(message = "公司编号不能为空")
	private String companyNo;

	@ApiModelProperty(value = "用户一级分类[UserOneTypeEnum]", required = true)
	@NotEmpty(message = "用户分类不能为空")
	private String userTypeOne = UserOneTypeEnum.Customer_User.getCode();

	@ApiModelProperty(value = "用户二级分类")
	private String userTypeTwo;

	@ApiModelProperty(value = "用户一级来源[UserOneSourceEnum]",required = true)
	@NotEmpty(message = "用户一级来源不能为空")
	private String sourceOne= UserOneSourceEnum.Self_Reg.getCode();

	@ApiModelProperty(value = "用户二级来源")
	private String sourceTwo;

	@ApiModelProperty(value = "用户名")
	private String userName;

	@ApiModelProperty(value = "昵称")
	private String nickName;

	@ApiModelProperty(value = "真实姓名")
	private String realName;

	@ApiModelProperty(value = "国家编码")
	private String nationCode = "86";

	@ApiModelProperty(value = "手机号")
	private String mobile;

	@ApiModelProperty(value = "邮箱")
	private String email;

	@ApiModelProperty(value = "密码")
	private String password;

	@ApiModelProperty(value = "推荐码")
	private String referralCode;

	@ApiModelProperty(value = "经纬度分类")
	private String llType;

	@ApiModelProperty(value = "经度")
	private Double longitude;

	@ApiModelProperty(value = "纬度")
	private Double latitude;

	@ApiModelProperty(value = "客户端分类")
	private String clientType;

	@ApiModelProperty(value = "客户端编号")
	private String clientDeviceNo;

	@ApiModelProperty(value = "注册IP地址")
	private String regIp;

	@ApiModelProperty(value = "用户标签")
	private Set<String> userTags;

	@ApiModelProperty(value = "头像")
	private String headImg;

	@ApiModelProperty(value = "电话")
	private String tel;

	@ApiModelProperty(value = "QQ")
	private String qq;

	@ApiModelProperty(value = "岗位编号")
	private Set<String> jobCode;

	@ApiModelProperty(value = "部门ID")
	private Integer deptId;

	@ApiModelProperty(value = "是否部门负责人(YN)")
	private String isDeptManager = BaseConstant.YNEnum.NO.getCode();

	@ApiModelProperty(value = "是否管理员(YN)")
	private String isManager = BaseConstant.YNEnum.NO.getCode();

	@ApiModelProperty(value = "数据权限分类(1全部部门 2自己 3指定部门)")
	private String dataAuthorityType;

	@ApiModelProperty(value = "数据权限范围")
	private Set<String> dataAuthorityScope;

	@ApiModelProperty(value = "用户角色")
	private Set<String> roles;

}
